package com.cykj.pos.service.impl;

import com.cykj.pos.domain.dto.BizPosMessage;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.apache.commons.lang3.StringUtils;
import com.cykj.pos.mapper.BizTrackRecordMapper;
import com.cykj.pos.domain.BizTrackRecord;
import com.cykj.pos.service.IBizTrackRecordService;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

/**
 * 追溯记录Service业务层处理
 *
 * @author xxl
 * @date 2022-03-28
 */
@Service
public class BizTrackRecordServiceImpl extends ServiceImpl<BizTrackRecordMapper, BizTrackRecord> implements IBizTrackRecordService {

    @Resource
    private   BizTrackRecordMapper bizTrackRecordMapper;

    @Override
    public List<BizTrackRecord> queryList(BizTrackRecord bizTrackRecord) {
        LambdaQueryWrapper<BizTrackRecord> lqw = Wrappers.lambdaQuery();
        if (StringUtils.isNotBlank(bizTrackRecord.getHostDate())){
            lqw.eq(BizTrackRecord::getHostDate ,bizTrackRecord.getHostDate());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getHostTime())){
            lqw.eq(BizTrackRecord::getHostTime ,bizTrackRecord.getHostTime());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getMerchantNo())){
            lqw.eq(BizTrackRecord::getMerchantNo ,bizTrackRecord.getMerchantNo());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getTerminalNo())){
            lqw.eq(BizTrackRecord::getTerminalNo ,bizTrackRecord.getTerminalNo());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getPan())){
            lqw.eq(BizTrackRecord::getPan ,bizTrackRecord.getPan());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getAmnount())){
            lqw.eq(BizTrackRecord::getAmnount ,bizTrackRecord.getAmnount());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getAddiAmount())){
            lqw.eq(BizTrackRecord::getAddiAmount ,bizTrackRecord.getAddiAmount());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getFeeName())){
            lqw.like(BizTrackRecord::getFeeName ,bizTrackRecord.getFeeName());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getCardType())){
            lqw.eq(BizTrackRecord::getCardType ,bizTrackRecord.getCardType());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getTransType())){
            lqw.eq(BizTrackRecord::getTransType ,bizTrackRecord.getTransType());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getEnterMode())){
            lqw.eq(BizTrackRecord::getEnterMode ,bizTrackRecord.getEnterMode());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getPosSn())){
            lqw.eq(BizTrackRecord::getPosSn ,bizTrackRecord.getPosSn());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getPosTrace())){
            lqw.eq(BizTrackRecord::getPosTrace ,bizTrackRecord.getPosTrace());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getChlDate())){
            lqw.eq(BizTrackRecord::getChlDate ,bizTrackRecord.getChlDate());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getChlTime())){
            lqw.eq(BizTrackRecord::getChlTime ,bizTrackRecord.getChlTime());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getChlMerchantNo())){
            lqw.eq(BizTrackRecord::getChlMerchantNo ,bizTrackRecord.getChlMerchantNo());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getChlTerminalNo())){
            lqw.eq(BizTrackRecord::getChlTerminalNo ,bizTrackRecord.getChlTerminalNo());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getRetrirefnum())){
            lqw.eq(BizTrackRecord::getRetrirefnum ,bizTrackRecord.getRetrirefnum());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getAuthCode())){
            lqw.eq(BizTrackRecord::getAuthCode ,bizTrackRecord.getAuthCode());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getHostRetCode())){
            lqw.eq(BizTrackRecord::getHostRetCode ,bizTrackRecord.getHostRetCode());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getAcpRetCode())){
            lqw.eq(BizTrackRecord::getAcpRetCode ,bizTrackRecord.getAcpRetCode());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getBankCode())){
            lqw.eq(BizTrackRecord::getBankCode ,bizTrackRecord.getBankCode());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getAcqCertificate())){
            lqw.eq(BizTrackRecord::getAcqCertificate ,bizTrackRecord.getAcqCertificate());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getScanMerchantNo())){
            lqw.eq(BizTrackRecord::getScanMerchantNo ,bizTrackRecord.getScanMerchantNo());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getAcqName())){
            lqw.like(BizTrackRecord::getAcqName ,bizTrackRecord.getAcqName());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getAcqAccountNo())){
            lqw.eq(BizTrackRecord::getAcqAccountNo ,bizTrackRecord.getAcqAccountNo());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getScanMchId())){
            lqw.eq(BizTrackRecord::getScanMchId ,bizTrackRecord.getScanMchId());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getOrderNo())){
            lqw.eq(BizTrackRecord::getOrderNo ,bizTrackRecord.getOrderNo());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getPlatformNo())){
            lqw.eq(BizTrackRecord::getPlatformNo ,bizTrackRecord.getPlatformNo());
        }
        if (bizTrackRecord.getMerchId() != null){
            lqw.eq(BizTrackRecord::getMerchId ,bizTrackRecord.getMerchId());
        }
        if (bizTrackRecord.getUuid() != null){
            lqw.eq(BizTrackRecord::getUuid ,bizTrackRecord.getUuid());
        }
        if (StringUtils.isNotBlank(bizTrackRecord.getWhetherSteal())){
            lqw.eq(BizTrackRecord::getWhetherSteal ,bizTrackRecord.getWhetherSteal());
        }
        if (bizTrackRecord.getParentId() != null){
            lqw.eq(BizTrackRecord::getParentId ,bizTrackRecord.getParentId());
        }
        return this.list(lqw);
    }

    @Override
    public BizPosMessage selectOneBizTrack(String uuid) {
        return bizTrackRecordMapper.selectOneBizTrack(uuid);
    }

}
